package src

//import (
//	"embed"
//	"encoding/json"
//	"fmt"
//	"github.com/sciter-sdk/go-sciter"
//	"github.com/sciter-sdk/go-sciter/window"
//	"log"
//	"os"
//
//	"strings"
//
//	_ "github.com/ncruces/zenity"
//	"github.com/skratchdot/open-golang/open"
//)
////go:embed all:views
//var views embed.FS
//// 定义一个Map类型的数据结构
//type Map map[string]interface{}
//func RunSciter(uri string){
//	w, err := window.New(sciter.SW_TITLEBAR|sciter.SW_RESIZEABLE|sciter.SW_CONTROLS|sciter.SW_MAIN|sciter.SW_ENABLE_DEBUG, &sciter.Rect{
//		Left:   100,
//		Top:    50,
//		Right:  1100,
//		Bottom: 660,
//	})
//	if err != nil {
//		log.Fatal(err)
//	}
//
//	// 定义一个回调函数，用于处理加载资源，home 是自定义的Scheme
//	w.SetCallback(&sciter.CallbackHandler{
//		OnLoadData: func(params *sciter.ScnLoadData) int {
//			if strings.HasPrefix(params.Uri(), "home://") {
//				fileData, err := views.ReadFile(params.Uri()[7:])
//				if err == nil {
//					w.DataReady(params.Uri()[7:], fileData)
//				}
//			}
//			return 0
//		},
//	})
//
//	// 这里定义一些与前端交互的函数
//	w.DefineFunction("openUrl", openUrl)
//	//w.DefineFunction("getIndexingTasks", getIndexingTasks)
//	//w.DefineFunction("getIndexingTask", getIndexingTask)
//	//w.DefineFunction("getIndexingUrls", getIndexingUrls)
//	//w.DefineFunction("openAccountJson", openAccountJson)
//	//w.DefineFunction("loadIndexingSitemap", loadIndexingSitemap)
//	//w.DefineFunction("createGoogleIndexing", createGoogleIndexing)
//	//w.DefineFunction("startGoogleIndexing", startGoogleIndexing)
//	//w.DefineFunction("stopGoogleIndexing", stopGoogleIndexing)
//	//w.DefineFunction("deleteGoogleIndexing", deleteGoogleIndexing)
//
//	// 加载主页面
//	mainView, err := views.ReadFile("views/main.html")
//	if err != nil {
//		fmt.Print("nofile", err)
//		os.Exit(0)
//	}
//
//	w.LoadHtml(string(mainView), "")
//
//	w.SetTitle("谷歌推送")
//	w.Show()
//	w.Run()
//
//}
//func openUrl(args ...*sciter.Value) *sciter.Value {
//	link := args[0].String()
//	_ = open.Run(link)
//
//	return nil
//}

//func getIndexingTasks(args ...*sciter.Value) *sciter.Value {
//	//tasks := service.GetIndexingTasks()
//	var task = []Map{}
//	// 返回Json格式
//	return jsonValue(tasks)
//}
//
//func getIndexingTask(args ...*sciter.Value) *sciter.Value {
//	index, _ := strconv.Atoi(args[0].String())
//	//task := service.GetIndexingTask(index)
//	task := Map{}
//	// 返回Json格式
//	return jsonValue(task)
//}
//
//func getIndexingUrls(args ...*sciter.Value) *sciter.Value {
//	index, _ := strconv.Atoi(args[0].String())
//	page, _ := strconv.Atoi(args[1].String())
//	if page < 1 {
//		page = 1
//	}
//	//urls, totalPage := service.GetIndexingUrls(index, page)
//	urls := []string{}
//	totalPage := 0
//	// 返回Json格式
//	return jsonValue(Map{"urls": urls, "page": page, "totalPage": totalPage})
//}
//
//func openAccountJson(args ...*sciter.Value) *sciter.Value {
//	accountPath, err := zenity.SelectFile(zenity.Title("选择Account Json文件"), zenity.FileFilter{
//		Name:     "Json file",
//		Patterns: []string{"*.json"},
//		CaseFold: false,
//	})
//	if err != nil || accountPath == "" {
//		fmt.Println(err)
//		return nil
//	}
//
//	return sciter.NewValue(accountPath)
//}
//
//func createGoogleIndexing(args ...*sciter.Value) *sciter.Value {
//	accountPath := args[0].String()
//	domain := args[1].String()
//	tmpNum := args[2].String()
//	dailyNum, _ := strconv.Atoi(tmpNum)
//
//	if dailyNum == 0 {
//		dailyNum = 200
//	}
//	if !strings.HasPrefix(domain, "http") {
//		return sciter.NewValue("网址填写错误")
//	}
//	// err := service.CreateIndexing(accountPath, domain, dailyNum)
//	// if err != nil {
//	// 	return sciter.NewValue(err.Error())
//	// }
//
//	return nil
//}
//
//func loadIndexingSitemap(args ...*sciter.Value) *sciter.Value {
//	index, _ := strconv.Atoi(args[0].String())
//
//	// err := service.LoadIndexingSitemap(index, false)
//	// if err != nil {
//	// 	return sciter.NewValue(err.Error())
//	// }
//
//	return nil
//}
//
//func startGoogleIndexing(args ...*sciter.Value) *sciter.Value {
//	index, _ := strconv.Atoi(args[0].String())
//
//	// err := service.StartGoogleIndexing(index)
//
//	// if err != nil {
//	// 	return sciter.NewValue(err.Error())
//	// }
//
//	return nil
//}
//
//func stopGoogleIndexing(args ...*sciter.Value) *sciter.Value {
//	index, _ := strconv.Atoi(args[0].String())
//
//	//service.StopGoogleIndexing(index)
//
//	return nil
//}
//
//func deleteGoogleIndexing(args ...*sciter.Value) *sciter.Value {
//	index, _ := strconv.Atoi(args[0].String())
//
//	// 需要先stop
//	// service.StopGoogleIndexing(index)
//	// // 最后删除
//	// service.DeleteIndexingTask(index)
//
//	return nil
//}

//func jsonValue(val interface{}) *sciter.Value {
//	buf, err := json.Marshal(val)
//	if err != nil {
//		return nil
//	}
//	return sciter.NewValue(string(buf))
//}

